Understanding Recursion: A Javascript Example